package planes;
import java.awt.Point;

import javax.swing.ImageIcon;

import weaponrelated.bullet;
import GAME.game;
import weaponrelated.*;
/**
 * Clase que modela el avion kamikaze.
 */
public class kamikaze extends enemy{
	protected int contmovimientos;
	
	public kamikaze(game g){
		this.setIcon(new ImageIcon(getClass().getClassLoader().getResource("resources/harrieradelante.png")));
		down=true;
		up=false;
		right=false;
		left=false;		
		game=g;
		arma=null;
		hp=10;
		points=15;
		vel=4;
		this.setBounds(0, 0, 25, 35);
		contmovimientos=3;
	
		
	}
	
	public void shoot(){
		
	}
	/**
	 * Metodo que setea para donde se va a mover el avion kamikaze.
	 */
	public void setmovimiento(boolean d,boolean l,boolean r){ //setea el tipo de movimiento del kamikaze
		down=d;
		left=l;
		right=r;
	}
	/**
	 * Metodo que cambia el movimiento del kamikaze para que se dirija al jugador.
	 */
	public void cambiarmovimiento(){
		int x=game.getplayer().getX();
		int y=game.getplayer().getY();
		if(this.getX()>x){
			right=false;
		
			left=true;}
		else{
			left=false;
			right=true;
		}
		if(this.getY()>y){
			up=true;
			down=false;
			
		}else{
			up=false;
			down=true;
		}
			
	}
	/**
	 * Metodo que simula el movimiento del avion kamikaze.
	 */
	public void mover(){ //mueve el mig segun su tipo de movimiento si se choca con una pared entonces cambia movimiento
		Point pos = this.getLocation();
		if(pos.getY()>game.getHeight())
			this.kill();
		else{
			
			if(contmovimientos==0){
				this.cambiarmovimiento();
				contmovimientos=3;
			}
			else
				contmovimientos--;
			
			if(up && !down && !left && !right){ //mov arriva
			
					int v = pos.y - vel;
					pos.setLocation(pos.x, v);
				
					
			}
			if(down && !up && !left && !right){ // mov abajo
			
				int v = pos.y + vel;
				pos.setLocation(pos.x, v);
				
			}
			if(left && !up && !right && !down){ // mov izquierda
					
					int v = pos.x - vel;
					pos.setLocation(v, pos.y);
					
			
			}
			if(right && !up && !down && !left){ // mov derecha
				
					int v = pos.x + vel;
					pos.setLocation(v, pos.y);
				
					
			}
			if(right && up && !down && !left){ // mov diagonal arrivaderecha
				
					int v = pos.x + vel;
					pos.setLocation(v, pos.y);
					v = pos.y - vel;
					pos.setLocation(pos.x, v);
					
				
				
			}
			if(left && up && !right && !down){ //mov diagonal izquierdaarriva
					
					int v = pos.x - vel;
					pos.setLocation(v, pos.y);
					v = pos.y - vel;
					pos.setLocation(pos.x, v);
					
				
			}
			if(right && !up && down && !left){ // mov derechaabajo
				
					int v = pos.x + vel;
					pos.setLocation(v, pos.y);
					v = pos.y + vel;
					pos.setLocation(pos.x, v);
					
				
			}
			if(left && !up && !right && down){ // mov izquierda abajo
						
					int v = pos.x - vel;
					pos.setLocation(v, pos.y);
					v = pos.y + vel;
					pos.setLocation(pos.x, v);
					
				
			}
			this.setLocation(pos);
		}
		}
	}



